In a multimedia application development environment, users often want to assign a path along which the part will move to give the application special effects. For example, a user might want to display an animation of a bird appearing on the left edge of a page and flying across the page to exit on the right side of the page. Using the known techniques, the assignment of a motion path to a part is tedious. In addition, the known techniques have limited flexibility and require construction separate from the part layout area. Once constructed, it is difficult to modify the path.
One type of path definition is found in, for example, Premier by Adobe. To construct a path for an object/part, the user must exit the layout area and enter a separate window. Then, the user can draw a path for the part using a pointing device. There is no one-to-one scale and the path is drawn without the perspective of the actual environment including lack of true-scale surrounding parts. Thus, the user must create the path and then assign it, return to the layout area and run a test. If the path does not work as expected, the user must return to the separate path definition window and try again. This is awkward and time consuming, especially in complex layouts.
Another type of path definition can be found in Director by Macromedia. This type of path definition allows the use of the actual layout area for construction but also requires the use of a "score" area. The user must drag the part to the start time in the score. Then the user must drag the part to the next movement position in the layout are followed by another dragging to the score area for the time it should appear in that position. Once these steps have occurred from start point to finish point, the score area is highlighted and the placement is made on the layout area. Thus, this method can also be slow and tedious.
Thus, there is a need for a method and system for path definition that is quick and easy to use, especially for complex arrangements of multiple parts of any type using multiple paths.